﻿using System;
using UnityEngine;

namespace NpcFramework
{
    /// <summary>
    /// NPC 数据储存，可用于表现还原
    /// </summary>
    [System.Serializable]
    public class NpcData
    {
        public NpcData()
        {
            
        }
        public NpcData(int id)
        {
            ID = id;
        }

        public int ID { get; set; }
        public Vector3 Position { get; set; }
        public Quaternion Rotation { get; set; }
        public Vector3 EulerAngles { get; set; }
        public Vector3 Forward { get; set; }
        public string AnimationName { get; set; }

        public int EventId { get; set; }

        public int BornPointIndex { get; set; }
        
        public bool IsWayPointNpc { get; set; }        // 是否为道路点上生成的NPC
        
        public int WayID { get; set; }
        public int WayPointIndex { get; set; }
        
        public bool WaitTrafficLight { get; set; }

        public bool BanNeedWaitLight { get; set; }
        
        public int BornIndex { get; set; }
        /// <summary>
        /// 是否是正向
        /// </summary>
        public bool facing { get; set; }

        //NPC类型
        public int NpcType;
        public float maxSpeed;

        public bool IsUnload = false;

        public Vector3 Destination;

        public int ModelId;
        public bool SpecialNPC;
        public bool IsFollowWay = true;
    }


    
}
